namespace GamFi.Admin.API.Application.Contracts.Token.GetTokens;

/// <summary>
/// DTO для представления информации о токене
/// </summary>
public class TokenDto
{
    /// <summary>
    /// Идентификатор токена
    /// </summary>
    public Guid TokenId { get; set; }

    /// <summary>
    /// Название токена
    /// </summary>
    public string Name { get; set; } = default!;

    /// <summary>
    /// Цена токена
    /// </summary>
    public double TokenPrice { get; set; }

    /// <summary>
    /// Трёхбуквенный код токена
    /// </summary>
    public string TokenSymbol { get; set; } = default!;

    /// <summary>
    /// Идентификатор чейна, к которому привязан токен
    /// </summary>
    public Guid ChainId { get; set; }

    /// <summary>
    /// Идентификатор чейна, к которому привязан токен
    /// </summary>
    public Guid? CreatedBy { get; set; }

    /// <summary>
    /// Идентификатор чейна, к которому привязан токен
    /// </summary>
    public DateTime? CreatedDate { get; set; }

    /// <summary>
    /// Целевая сумма, которую необходимо собрать
    /// </summary>
    public double TargetedRaise { get; set; }

    /// <summary>
    /// Текущая сумма, собранная токеном
    /// </summary>
    public double TotalRaise { get; set; }

    /// <summary>
    /// Описание токена
    /// </summary>
    public string TokenSummary { get; set; } = default!;

    /// <summary>
    /// Идентификатор картинки, связанной с токеном
    /// </summary>
    public Guid? ImageId { get; set; }
}